05be23db87df2a882fde6132e5e002007db90c57,java/java-impl/src/com/intellij/lang/java/parser/DeclarationParser.java,DeclarationParser,parse,#PsiBuilder#Context#,194

Before Change


      }
    }
    else if (ElementType.CLASS_KEYWORD_BIT_SET.contains(builder.getTokenType())) {
      final PsiBuilder.Marker root = parseClassFromKeyword(builder, declaration, false);
      if (context == Context.FILE) {
        // todo: append following declarations to root (?)
        boolean declarationsAfterEnd = false;

        while (builder.getTokenType() != null && builder.getTokenType() != JavaTokenType.RBRACE) {
          final PsiBuilder.Marker position = builder.mark();
          final PsiBuilder.Marker element = parse(builder, Context.CLASS);
          if (element != null && AFTER_END_DECLARATION_SET.contains(exprType(element))) {
            if (!declarationsAfterEnd) {
              element.precede().error(JavaErrorMessages.message("expected.class.or.interface"));
            }
            declarationsAfterEnd = true;
            position.drop();
          }
          else {
            position.rollbackTo();
            break;
          }
        }

        if (declarationsAfterEnd) {
          expectOrError(builder, JavaTokenType.RBRACE, JavaErrorMessages.message("expected.rbrace"));
        }
      }
      return root;
    }

    PsiBuilder.Marker typeParams = null;

After Change


      }
    }
    else if (ElementType.CLASS_KEYWORD_BIT_SET.contains(builder.getTokenType())) {
      return parseClassFromKeyword(builder, declaration, false, context);
    }

    PsiBuilder.Marker typeParams = null;